#include "light.h"

/* 光照传感器AO PF.10 */

/*
 *函数名称:Light_Init
 *函数功能:初始化光敏传感器
 *参数:无
 *返回值:无
 *备  注:无
 */
void Light_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;

	RCC_APB2PeriphClockCmd(LIGHT_RCC_CLK, ENABLE); // 使能GPIOF时钟

	GPIO_InitStructure.GPIO_Pin = LIGHT_PIN;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; // 模拟输入引脚
	GPIO_Init(LIGHT_PORT, &GPIO_InitStructure);

	Adc3_Init(); // ADC3初始化
}

/*
 *函数名称:Light_Get_Val
 *函数功能:读取光照传感器的值
 *参数:无
 *返回值:光照传感器的值
 *备  注:光照传感器的值的范围为 0~100   0,最暗 ;  100,最亮
 */
u8 Light_Get_Val(void)
{
	u32 temp_val = 0;
	u8 t;
	for (t = 0; t < LSENS_READ_TIMES; t++)
	{
		temp_val += Get_Adc3(LSENS_ADC_CHX); // 读取ADC的值
		delay_us(50);
	}
	temp_val /= LSENS_READ_TIMES; // 得到平均值
	if (temp_val > 4000)
	{
		temp_val = 4000;
	}

	return (u8)(100 - (temp_val / 40));
}
